package com.tenghu.sbm;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * MyBatis配置类
 * @author Arvin
 * @date 2017/12/12 15:03
 */
@Configuration
public class MybatisConfig {

    @Bean
    public PageInterceptor pageHelper(){
        //创建分页拦截器
        PageInterceptor pageInterceptor=new PageInterceptor();
        //创建分页配置
        Properties properties=new Properties();
        //默认值为 false，该参数对使用 RowBounds 作为分页参数时有效。 当该参数设置为 true 时，会将 RowBounds 中的 offset 参数当成 pageNum 使用，可以用页码和页面大小两个参数进行分页。
        properties.setProperty("offsetAsPageNum","true");
        //默认值为false，该参数对使用 RowBounds 作为分页参数时有效。 当该参数设置为true时，使用 RowBounds 分页会进行 count 查询。
        properties.setProperty("rowBoundsWithCount","true");
        //分页合理化参数，默认值为false。当该参数设置为 true 时，pageNum<=0 时会查询第一页， pageNum>pages（超过总数时），会查询最后一页。默认false 时，直接根据参数进行查询。
        properties.setProperty("reasonable","true");
        //设置分页参数
        pageInterceptor.setProperties(properties);
        return pageInterceptor;
    }
}
